#ifndef INTERFACEARCHIVER_H
#define INTERFACEARCHIVER_H
#include <QObject>
#include <QString>
#include <QProcess>
#include <QDebug>
#include <QFile>
#include "quazip.h"
#include "JlCompress.h"

/*!
	\brief Classe d'interfaçage entre l'UpBuilder et un
	module statique d'archivage (et éventuellement 
	de compression) de fichier.
*/

class InterfaceArchiver: public QObject
{
	Q_OBJECT
public:
	InterfaceArchiver(); 
	virtual ~InterfaceArchiver();
	//Les deux fonctions suivante ne doivent pas recevoir de nom de fichier contenant l'extension de l'archive!
	void CreateArchive(QString InputFilePath,QString OutputFilePath); //Génère l'archive
	bool CheckAndDeleteOldArchive(QString AbsoluteFilePath); //Test la présence d'un fichier archivé obsolète et le supprime

signals:
	void ArchiveCreateEnd(QString OutputFilePath, bool ExitStatut); //Signal la fin de la génération.

private slots:
	void CompressFinished( int exitCode, QProcess::ExitStatus exitStatus );
	
private:
	QProcess *Archiver_sevenZip;
	QString CurrentOutputFilePath;
};

#endif // INTERFACEARCHIVER_H
